Finding ID | Version | Rule ID | IA Controls | Severity |
---|---|---|---|---|
V-41394 | SQL2-00-011050 | SV-53918r3_rule | Medium |
Description |
---|
Discretionary Access Control (DAC) is based on the premise that individual users are "owners" of objects and therefore have discretion over who should be authorized to access the object and in which mode (e.g., read or write). Ownership is usually acquired as a consequence of creating the object or via specified ownership assignment. DAC allows the owner to determine who will have access to objects they control. An example of DAC includes user-controlled file permissions. DAC models have the potential for the access controls to propagate without limit, resulting in unauthorized access to said objects. When applications provide a discretionary access control mechanism, the application must be able to limit the propagation of those access rights. The DBMS must ensure the recipient of object permissions possesses only the access intended. The database must enforce the ability to limit unauthorized rights propagation. If propagation is not prevented, users can continue to grant rights to other users without limit. |
STIG | Date |
---|---|
Microsoft SQL Server 2012 Database Instance Security Technical Implementation Guide | 2019-01-08 |
Check Text ( C-47931r3_chk ) |
---|
Check for rights propagation assignment to database permissions by running the following query: USE SELECT * FROM sys.database_permissions WHERE state_desc = 'GRANT_WITH_GRANT_OPTION'; If any of the permissions listed have not been documented and approved as requiring GRANT_WITH_GRANT_OPTION, this is a finding. |
Fix Text (F-46818r4_fix) |
---|
Document and obtain approval for each GRANT_WITH_GRANT_OPTION that is required. Correct each unapproved GRANT_WITH_GRANT_OPTION with REVOKE and GRANT statements of the form (replacing "UPDATE" with the actual permission at issue): REVOKE UPDATE ON SampleTable FROM SampleUserOrRole CASCADE; GRANT UPDATE ON SampleTable TO SampleRole; -- Note, no WITH GRANT OPTION clause here. |